#ifndef _MAIN_H_
#define _MAIN_H_

#include "common.h"
#include "mosquitto.h" /* mqtt lib header */
#include "mqtt_msg.h"
#include <atomic>
#include <cstdlib>
#include <cstring>
#include <fcntl.h>
#include <iostream>
#include <mutex>
#include <pthread.h>
#include <stdint.h>
#include <string>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include <vector>

using namespace mqtt;

class DevModbus {
public:
    /* 构造函数 */
    DevModbus();
    /* 析构函数 */
    ~DevModbus();
    int local_msg_id;                            /* 本地的消息队列id */
    Mqtt *mqtt;                                  /* mqtt句柄 */
    queue<msg_t> dev_write;                      /* 操作队列 */
    queue<msg_t> dev_read;                       /* 操作队列 */
private:

};

extern DevModbus *devModbus;
#define     DEV_MODBUS_485    1
#define     DEV_MODBUS_USB    0

#endif
